package com.gxa.ssm251.mapper;

import com.gxa.ssm251.pojo.Coupon;
import org.apache.ibatis.annotations.Insert;

import java.util.List;

/**
 * @author 舒空
 */
public interface CouponMapper {
    /**
     * 添加优惠券
     * @param coupon 优惠券对象
     * @return 数据库影响行数
     */
    Integer insert(Coupon coupon);

    /**
     * 添加优惠券使用范围
     * @param cpsId 优惠券使用范围id
     * @param id 优惠券id
     * @return 数据库影响行数
     */
    Integer insertScope(Integer id,Integer cpsId);

    /**
     * 通过姓名查询优惠券信息
     * @param name 优惠券名称
     * @return 一行优惠券数据内容
     */
    Coupon selectByName(String name);

    /**
     * 分页逆序全查询
     * @param page 页数
     * @param size 每页几条数据
     * @return 数据库所有记录的集合
     */
    List<Coupon> selectAllByPage(Integer page,Integer size);

    /**
     * 全查询
     * @return 数据库所有记录的集合的数量
     */
    Integer selectCountAll();

    /**
     * 通过id查询数据
     * @param id 优惠券编号
     * @return 返回id对应的数据属性的集合
     */
    List<Coupon> selectById(Integer id);

    /**
     * 修改优惠券
     * @param coupon coupon
     * @return 数据库修改的条数
     */
    Integer update(Coupon coupon);

    /**
     * 删除关系表为id的记录
     * @param id 关联表的优惠券编号
     * @return 数据库影响条数
     */
    Integer deleteScope(Integer id);

    /**
     * 修改优惠券能否使用的状态
     * @param coupon coupon
     * @return 影响数据库的行数
     */
    Boolean updateInUse(Coupon coupon);

}
